non terminal string_literal, string_element, decimal_literal, based_literal, numeric_literal, character_literal, primary, factor, term, simple_expression, 
string_element_closure, factor_closure , numeral_optional, exponent_optional, based_numeral_optional, plus_minus_optional, plus_minus_closure, simple_expression_optional,
not_optional,
and_closure,
name,
andthen_closure,
or_closure,
orelse_closure, 
label,
xor_closure ,
//operator_symbol,
//defining_identifier, 
label_closure,
//defining_operator_symbol ,
//statement_identifier,
//parent_unit_name ,
//variable_name,
//loop_name  ,
//label_name ,
//procedure_name  ,
//task_name,
//exception_name  ,
//subtype_mark  ,
//function_name  ,
prefix ,
expression,
//default_expression,
//condition,
//static_simple_expression,
exp_optional,
basic_declaration,    
slice,
discrete_range,
//subtype_indication ,
range,
statement,
simple_statement,
compound_statement,
sequence_of_statements,
statement_closure ,
null_statement ,
if_statement ,
elsif_then_closure ,
else_optional,
case_statement,
case_statement_alternative_closure  ,
case_statement_alternative ,
discrete_choice_list ,
discrete_choice_closure  ,
discrete_choice,
direct_name,
loop_statement ,
selected_component,
col_statement_identifier_optional ,
while_or_loop_optional ,
statement_identifier_optional ,
reverse_optional ,
base,
discrete_subtype_definition ,
assignment_statement ,
goto_statement ,
exit_statement  ,
loop_name_optional ,
when_condition_optional  ,
return_statement,
expression_optional,
abort_statement ,
task_name_closure ,
raise_statement,
procedure_call_statement,
exception_name_optional ,
subprogram_declaration ,
subprogram_specification,
formalpart_optional,
defining_program_unit_name ,
defining_designator,
formal_part,
parameter_specification_closure,
parameter_specification  ,
defining_identifier_list ,
defining_identifier_closure ,
mode,
relation,
in_optional ,
access_definition ,
default_exp_optional  ,
subprogram_body ,
declarative_part,
declarative_part_closure ,
basic_declarative_item,
body,
proper_body ,
handled_sequence_of_statements,
exception_handler_optional ,
exception_handler_closure ,
exception_handler,
choice_parameter_specification_optional ,
choice_parameter_specification ,
exception_choice_closure ,
exception_choice,
designator_optional ,
designator,
parent_unit_name_optional,
function_call ,
actual_parameter_part_optional,
actual_parameter_part ,
parameter_association_closure  ,
parameter_association ,
sel_name_optional ,
selector_name ,
number_declaration,
exception_declaration;

precedence left COMMA_KW;
precedence left IMPLIES;
precedence left NOT;
precedence left AND;
precedence left OR;
precedence left XOR;
precedence left EQ, NOT_EQ;
precedence left LESS, GTR, GTR_EQ, LESS_EQ;
precedence left IF, THEN, ELSE, ELSEIF;
precedence left PLUS, MINUS;
precedence left TIMES, DIVIDE;
precedence left DOT_KW;